The present invention relates generally to graphical user interfaces for computer systems. More particularly, the present invention relates to methods and systems for creating and editing program code which governs the presentation of user guidance information.
The rapid advance of computer technology has enabled programmers to greatly enhance the sophistication of their software programs. Yet an increase in sophistication often brings a increase in application complexity. Such complexity often serves to confuse and frustrate computer users as they attempt to learn a new computer application, especially when the software manuals are large and burdensome to use.
The computer industry has attempted to address the above drawback by designing application programs with user-friendly display interfaces. Generally, the user-friendly paradigm aims to present information in the simplest and most intuitive fashion possible. This may be achieved by organizing information using a series of hierarchical menus or windows. Also, user-friendliness is promoted by including graphical metaphors in the display interface instead of nondescriptive command-line prompts. For example, object-oriented display systems frequently employ images of file folders for storage of information, and graphical depictions of trash containers for disposal (e.g. deletion) of information.
Another way of assisting an unfamiliar operator in using a computer application has been through user guidance interfaces (e.g. “help” interfaces). Such interfaces allow a user to quickly obtain help when unsure how to proceed at a particular juncture in the execution of a program. For example, a user can activate a help icon or menu entry when confused. The system may surmise the user's problem depending on the particular point in the program at which the user has activated the help function. Alternatively, the user may focus his inquiry by placing a cursor over an icon, menu, file folder or display object, whereupon the system responds by displaying an explanation of the selected display object. Still more focused guidance can be obtained by tailoring different help messages to different users. For instance, an expert at a particular application might prefer not to be bothered with a lengthy user guidance message. As such, only a cursory explanation is provided to the expert user. In contrast, a novice user might require a relatively large amount of information to successfully navigate through the application program. Accordingly, the help message given to the novice user may be quite lengthy.
While the above user-interface techniques have greatly enhanced the enjoyment and ease of using complex application programs, developing intricate guidance files for each application has proven very time consuming and burdensome. For example, the guidance files for the Apple family of computers relies on the generation of script files. “Script” is textual high-level program code, usually developed using a word processor or special script editor. User guidance information is often highly repetitive; one program module may employ virtually the same messages as another program module. Hence, the program designer has been forced to tediously duplicate the same script for each separate module. Even when “cut” and “paste” editing commands are employed, the task of creating script is still burdensome.
Further, translating and compiling the word processor's script language takes a considerable amount of time. It is especially cumbersome to re-translate the entire source file every time a revision is made in the source program. This difficulty is compounded by the fact that the translators and compilers sometimes produce errors. According to known techniques, the occurrence of an error typically causes the user to recompile the entire source file.
Accordingly, it would be desirable to produce a graphical interface which is user-friendly to the program designer as well as the end user.
It is more particularly an exemplary object of the present invention to provide an editor of guidance information which relies less on the manual creation and translation of textual script.